package com.wangshouyu.mp.template;

import com.wangshouyu.mp.base.request.HttpMethod;
import com.wangshouyu.mp.base.request.MpClient;
import com.wangshouyu.mp.base.request.RequestBody;
import com.wangshouyu.mp.utils.GsonUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.text.MessageFormat;

import static com.wangshouyu.mp.base.constant.UrlConstant.SEND_TEMPLATE_MESSAGE_URL;

/**
 * @author 王守钰
 * @date 2020年12月19日 06:57
 * @description 模板消息处理
 */
public class TemplateMessageHandler {

    private TemplateMessageHandler() {
    }

    private static Logger logger = LoggerFactory.getLogger(TemplateMessageHandler.class);

    /**
     * 发送模板消息
     * @param mpClient 客户端
     * @param accessToken accessToken
     * @param templateMessage 模板消息
     * @return 结果
     */
    public static TemplateMessageSendResult send(MpClient mpClient, String accessToken, TemplateMessage templateMessage){
        String url = MessageFormat.format(SEND_TEMPLATE_MESSAGE_URL, accessToken);
        return mpClient.request(HttpMethod.POST,
                url,
                RequestBody.create(GsonUtils.toJson(templateMessage)),
                TemplateMessageSendResult.class);
    }
}
